import router from './router'
import store from './store'
import {
  Message
} from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import {
  getToken
} from '@/utils/auth' // getToken from cookie
import {
  initMenu
} from '@/utils/util'
import Cookies from 'js-cookie'

NProgress.configure({
  showSpinner: false
}) // NProgress Configuration

const whiteList = ['/login','/dashboard'] // no redirect whitelist

router.beforeEach((to, from, next) => {
  NProgress.start() // start progress bar
  // if (getToken()) { // determine if there has token
  //   /* has token*/
  //   if (to.path === '/login') {
  //     next({
  //       path: '/'
  //     })
  //     NProgress.done() // if current page is dashboard will not trigger	afterEach hook, so manually handle it
  //   } else {
  //     if (store.getters.roles.length === 0) { // 判断当前用户是否已拉取完user_info信息
  //       store.dispatch('GetInfo').then(res => { // 拉取user_info
  //         store.dispatch('GetMenu').then(data => {
  //           initMenu(router, data)
  //         })
  //         next()
  //       }).catch((err) => {
  //         console.log(err)
  //         store.dispatch('FedLogOut').then(() => {
  //           Message.error(err || 'Verification failed, please login again')
  //           next({
  //             path: '/'
  //           })
  //         })
  //       })
  //     } else {
  //       next()
  //     }
  //     // if (to.path !== 'login' && to.path !== '/admin/newpass' && Cookies.get('firstLogin')) {
  //     //   next('/admin/newpass')
  //     // }
  //   }
  // } else {
  //   /* has no token*/
  //   if (whiteList.indexOf(to.path) !== -1) { // 在免登录白名单，直接进入
  //     next()
  //   } else {
  //     next('/login') // 否则全部重定向到登录页
  //     NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
  //   }
  // }
  next()
})

router.afterEach(() => {
  NProgress.done() // finish progress bar
})
